Remove GPL libraries from the Julia build for binary-dist target#59627
Remove GPL libraries from the Julia build for binary-dist target#59627ViralBShah merged 1 commit intomasterfrom
Conversation
1ab2b38 to
04b666d
Compare
|
Of course, then there's the other possibility that we simply separate out SparseArrays into a separate external package altogether (and remove it from stdlib). @KristofferC Would this be possible and not breaking beyond needing to install an external package? Anyone using Sparse things then will just have to say yes to installing the package when they do |
|
This will effectively break any package expecting those libraries to be in SuiteSparse_jll, no matter how many messages we print. |
|
Maybe this PR should just stay focussed on respecting the USE_GPL_LIBS flag all the way. Bigger cleanups are most likely breaking anyways and should deal with that separately (and maybe there's nothing we can do about it). |
) Currently we support removing GPL dependencies in the full source build. This will also remove the GPL dependencies from the binary-dist target when built with JLLs. I almost feel like it would be simpler to have a new SuiteSparse_NOGPL_jll package. Then in the default build, things stay as they are. In the no gpl build use the new JLL. In the no GPL build, if someone then tries to use a GPL SuiteSparse library, a warning can be printed asking them to get a different build of Julia. @DilumAluthge @andreasnoack @giordano Thoughts? Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> (cherry picked from commit 441ebf9)
|
We should backport to 1.11 too, and get a new 1.11 release. |
|
And 1.10 too? |
|
Yeah, might as well. Since we are still putting out 1.10 builds. Should hopefully be easy enough to add these to all the builds - 1.10, 1.11, and 1.12. |
) Currently we support removing GPL dependencies in the full source build. This will also remove the GPL dependencies from the binary-dist target when built with JLLs. I almost feel like it would be simpler to have a new SuiteSparse_NOGPL_jll package. Then in the default build, things stay as they are. In the no gpl build use the new JLL. In the no GPL build, if someone then tries to use a GPL SuiteSparse library, a warning can be printed asking them to get a different build of Julia. @DilumAluthge @andreasnoack @giordano Thoughts? Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com>
…iaLang#59627) Currently we support removing GPL dependencies in the full source build. This will also remove the GPL dependencies from the binary-dist target when built with JLLs. I almost feel like it would be simpler to have a new SuiteSparse_NOGPL_jll package. Then in the default build, things stay as they are. In the no gpl build use the new JLL. In the no GPL build, if someone then tries to use a GPL SuiteSparse library, a warning can be printed asking them to get a different build of Julia. @DilumAluthge @andreasnoack @giordano Thoughts? Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com>
|
|
||
| VERSDIR := v$(shell cut -d. -f1-2 < $(JULIAHOME)/VERSION) | ||
| DIRS := $(build_datarootdir)/julia/stdlib/$(VERSDIR) $(build_prefix)/manifest/$(VERSDIR) | ||
| LIBDIR := $(build_datarootdir)/lib/julia |
There was a problem hiding this comment.
Maybe I'm missing something, but this directory doesn't seem to exist. Shouldn't this be $(build_private_libdir)?
There was a problem hiding this comment.
I'm not sure myself - but I don't have a deep understanding of these different variables, and it is likely I didn't get it right.
There was a problem hiding this comment.
It's just that $(build_datarootdir)/lib/julia extends by default to something ending with usr/share/lib/julia, which looks weird and doesn't seem to exist. $(build_private_libdir) extends to something ending with usr/lib/julia.
There was a problem hiding this comment.
Are you ok to make a PR? Should be easy enough to see how it works out.
There was a problem hiding this comment.
Sure, see #60100. Seems to work in my tests (while the current version doesn't seem to remove anything).
) Currently we support removing GPL dependencies in the full source build. This will also remove the GPL dependencies from the binary-dist target when built with JLLs. I almost feel like it would be simpler to have a new SuiteSparse_NOGPL_jll package. Then in the default build, things stay as they are. In the no gpl build use the new JLL. In the no GPL build, if someone then tries to use a GPL SuiteSparse library, a warning can be printed asking them to get a different build of Julia. @DilumAluthge @andreasnoack @giordano Thoughts? Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> (cherry picked from commit 441ebf9)
) Currently we support removing GPL dependencies in the full source build. This will also remove the GPL dependencies from the binary-dist target when built with JLLs. I almost feel like it would be simpler to have a new SuiteSparse_NOGPL_jll package. Then in the default build, things stay as they are. In the no gpl build use the new JLL. In the no GPL build, if someone then tries to use a GPL SuiteSparse library, a warning can be printed asking them to get a different build of Julia. @DilumAluthge @andreasnoack @giordano Thoughts? Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> (cherry picked from commit 441ebf9)
) Currently we support removing GPL dependencies in the full source build. This will also remove the GPL dependencies from the binary-dist target when built with JLLs. I almost feel like it would be simpler to have a new SuiteSparse_NOGPL_jll package. Then in the default build, things stay as they are. In the no gpl build use the new JLL. In the no GPL build, if someone then tries to use a GPL SuiteSparse library, a warning can be printed asking them to get a different build of Julia. @DilumAluthge @andreasnoack @giordano Thoughts? Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> (cherry picked from commit 441ebf9)
Currently we support removing GPL dependencies in the full source build. This will also remove the GPL dependencies from the binary-dist target when built with JLLs.
I almost feel like it would be simpler to have a new SuiteSparse_NOGPL_jll package. Then in the default build, things stay as they are. In the no gpl build use the new JLL. In the no GPL build, if someone then tries to use a GPL SuiteSparse library, a warning can be printed asking them to get a different build of Julia.
@DilumAluthge @andreasnoack @giordano Thoughts?